package org.constant.util;

import java.io.File;
import java.util.LinkedList;
import java.util.List;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author gsierra
 */
public class ArchivosUtil {

    /**
     * Metodo que encuentra las raices del disco duro
     * @return Lista de objetos de tipo File
     */
    public List<File> getRaices(){
        List<File> lstRaices = new LinkedList<File>();
        File[] raices = File.listRoots();
        for(int i = 0; i < raices.length; i++)
            lstRaices.add(raices[i]);
        return lstRaices;
    }

    /**
     * Método que retorna el contenido de un archivo, sea archivo o directorio
     * @param raiz, objeto de tipo File
     * @return Lista con objetos de tipo File con el contenido del archivo
     */
    public List<File> getContenido(File raiz){
        List<File> lstContenido = new LinkedList<File>();
        if(raiz.isDirectory()){
            File[] contenido = raiz.listFiles();
            if(contenido != null){
                for(int i = 0; i<contenido.length; i ++)
                    lstContenido.add(contenido[i]);
            }
        }
        return lstContenido;
    }

    /**
     * Método que crea un objeto de tipo File y retorna una lista de con el contenido
     * del archivo, sea archivo o directorio
     * @param raiz, objeto de tipo String con el cual construye un objeto File
     * @return Lista con objetos de tipo File con el contenido del archivo
     */
    public List<File> getContenido(String raiz){
        File file = new File(raiz);
        return getContenido(file);
    }

}
